Methods, systems, and computer program products for determining orientation and fabrication parameters used in three-dimensional (3D) continuous liquid interface printing (CLIP) systems, and related printers

ABSTRACT

A method of operating a Continuous Liquid Interface Printing (CLIP) printer can include receiving a set of objectives for fabrication of an object using a CLIP printer and determining an orientation for fabrication of the object based on fulfillment of the set of objectives by simulated fabrication of the object.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application Ser.No. 62/132,566 entitled METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTSFOR DETERMINING ORIENTATION AND FABRICATION PARAMETERS USED INTHREE-DIMENSIONAL (3D) CONTINUOUS LIQUID INTERFACE PRINTING (CLIP)SYSTEMS, AND RELATED PRINTERS, filed in the U.S. Patent and TrademarkOffice on Mar. 13, 2015, and to U.S. Provisional Application Ser. No.62/132,673, entitled METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FORDETERMINING FABRICATION PARAMETERS USED IN THREE-DIMENSIONAL (3D)CONTINUOUS LIQUID INTERFACE PRINTING (CLIP) SYSTEMS, AND RELATEDPRINTERS, filed in the U.S. Patent and Trademark Office on Mar. 13,2015, and is related to U.S. Non-Provisional application Ser. No.15/068,133, entitled METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FORDETERMINING FABRICATION PARAMETERS USED IN THREE-DIMENSIONAL (3D)CONTINUOUS LIQUID INTERFACE PRINTING (CLIP) SYSTEMS, AND RELATEDPRINTERS, filed in the U.S. Patent and Trademark Office on Mar. 11, 2016the disclosures of all of which are incorporated herein by reference intheir entireties.

FIELD

The present invention relates, generally, to the fabrication ofthree-dimensional objects and, more particularly, to additive printingof three-dimensional objects.

BACKGROUND

In some conventional additive fabrication techniques, construction of athree-dimensional object may be performed in a step-wise orlayer-by-layer manner. For example, layers may be formed throughsolidification of a photo curable resin responsive to visible or UVlight irradiation. One such known technique can provide new layersformed at the top surface of an object being fabricated. Anothertechnique can provide new layers at the bottom surface of the objectbeing fabricated.

Some examples of these approaches are discussed in U.S. Pat. Nos.5,236,637, 7,438,846, 7,892,474, US Patent Publication No. 2013/0292862,and US Patent Publication No. 2013/0295212.

Another approach includes that used by the B9Creator™ 3D printermarketed by B9Creations of Deadwood, S. Dak., USA.

SUMMARY

Embodiments according to the invention can provide methods, systems, andcomputer program products for determining orientation and fabricationparameters used in three-dimensional (3D) Continuous Liquid InterfacePrinting (CLIP) systems, and related printers. A method of operating aCLIP printer can include receiving a set of objectives for fabricationof an object using a CLIP printer and determining an orientation forfabrication of the object based on fulfillment of the set of objectivesby simulated fabrication of the object.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1F are schematic diagrams of a 3D object in differentorientations capable of being fabricated using a CLIP printer in someembodiments according to the invention.

FIG. 2 is a flowchart illustrating operations of a system fordetermining an orientation used for fabrication of the 3D object ofFIGS. 1A-1F using a CLIP printer in some embodiments according to theinvention.

FIG. 3 is a flowchart illustrating operations of the system in FIG. 2 todetermine the orientation and Parameters used to fabricate the 3D objectof FIG. 1A-1F using simulation in some embodiments according to theinvention.

FIG. 4 is a block diagram of a computing device suitable for use in someembodiments according to the invention.

DETAILED DESCRIPTION OF EMBODIMENTS ACCORDING TO THE INVENTION

The present invention is now described more fully hereinafter withreference to the accompanying drawings, in which embodiments of theinvention are shown. This invention may, however, be embodied in manydifferent forms and should not be construed as limited to theembodiments set forth herein; rather these embodiments are provided sothat this disclosure will be thorough and complete and will fully conveythe scope of the invention to those skilled in the art. Like numbersrefer to like elements throughout.

As described herein, while a variety of additive manufacturing methodsand apparatus may be used, in some embodiments, the 3D objects can beproduced using a liquid interface, which may be referred to as remote“Continuous Liquid Interface Printing” or “Continuous Liquid InterfaceProduction” (CLIP), these terms being used interchangeably. It will beunderstood that in some embodiments according to the invention, the term“continuous” (or “continuously”) can refer to the formation of at leastsome contiguous portions of the 3D object in situ. For example, in someembodiments according to the invention, different portions of the 3Dobject, which are contiguous with one another in the final 3D object,can both be formed sequentially within a gradient of polymerization.Furthermore, a first portion of the 3D object can remain in the gradientof polymerization while a second portion, that is contiguous with thefirst portion, is formed in the gradient of polymerization. Accordingly,the 3D object can be fabricated, grown or produced continuously from thegradient of polymerization (rather than fabricated in discrete layers).

CLIP may be carried out as a bottom-up three dimensional additivemanufacturing technique. In general, bottom-up additive manufacturingmay be carried out by: (a) providing a carrier and an opticallytransparent member having a build surface, said carrier and said buildsurface defining a build region therebetween; (b) filling said buildregion with a polymerizable liquid, said polymerizable liquid comprisinga mixture of (i) a light (typically ultraviolet light) polymerizableliquid first component, and (ii) a second solidifiable component of thedual cure system; (c) irradiating said build region with light throughsaid optically transparent member to form a solid polymer scaffold fromsaid first component and also advancing said carrier away from saidbuild surface to form a three-dimensional intermediate having the sameshape as, or a shape to be imparted to, said three-dimensional objectand containing said second solidifiable component (e.g., a secondreactive component) carried in said scaffold in unsolidified and/oruncured form; and (d) concurrently with or subsequent to saidirradiating step, solidifying and/or curing (e.g., further reacting,further polymerizing, further chain extending), said second solidifiablecomponent (e.g., by heating and/or microwave irradiating) in saidthree-dimensional intermediate to form said three-dimensional object.

As noted above, the products are preferably formed by continuous liquidinterface production (CLIP). CLIP is known and described in, forexample, PCT Applications Nos. PCT/US2014/015486 (also published as US2015/0102532); PCT/US2014/015506 (also published as US 2015/0097315),PCT/US2014/015497 (also published as US 2015/0097316), and in J.Tumbleston, D. Shirvanyants, N. Ermoshkin et al., Continuous liquidinterface production of 3D Objects, Science 347, 1349-1352 (publishedonline 16 Mar. 2015), all of which are hereby incorporated herein byreference. In some embodiments, CLIP employs features of a bottom-upthree dimensional fabrication as described above, but the irradiatingand/or said advancing steps are carried out while also concurrently: (i)continuously maintaining a dead zone of polymerizable liquid in contactwith said build surface, and (ii) continuously maintaining a gradient ofpolymerization zone (such as an active surface) between said dead zoneand said solid polymer and in contact with each thereof, said gradientof polymerization zone comprising said first component in partiallycured form. In some embodiments of CLIP, the optically transparentmember comprises a semipermeable member (e.g., a fluoropolymer), andsaid continuously maintaining a dead zone is carried out by feeding aninhibitor of polymerization through said optically transparent member,thereby creating a gradient of inhibitor in said dead zone andoptionally in at least a portion of said gradient of polymerizationzone.

In some embodiments, CLIP may be carried out by optically establishingthe dead zone and gradient of polymerization/active surface, such as bytechniques explained in US Patent Application Publication No. US2004/0181313 to Shih et al., in U.S. Pat. No. 8,697,346 to McLeod etal., S. Hell et al., Nanoscale Resolution with Focused Light: STED andOther RESOLFT Microscopy Concepts, in Handbook of Biological ConfocalMicroscopy (J. Pawley ed., 3d Ed. 2006); T. Andrew et al., Science, 324,917-921 (2009); and T. Scott et al., Science 324, 913-917 (2009), all ofwhich are hereby incorporated herein by reference. In such case, thewindow or build plate may be either semipermeable, or may be impermeableto an inhibitor of polymerization (e.g., a single glass sheet). In someembodiments, CLIP may be carried out by generating the inhibitor ofpolymerization electrochemically, such as by an optically transparentelectrode or electrode array associated with the window or build plate,by which oxygen is electrochemically generated from water included inthe polymerizable liquid. Again, in such case, the window or build platemay be either semipermeable (e.g., a fluoropolymer) or may beimpermeable to an inhibitor of polymerization (e.g., a single glasssheet).

While the dead zone and the gradient of polymerization zone do not havea strict boundary therebetween (in those locations where the two meet),the thickness of the gradient of polymerization zone is in someembodiments at least as great as the thickness of the dead zone. Thus,in some embodiments, the dead zone has a thickness of from 0.01, 0.1, 1,2, or 10 microns up to 100, 200 or 400 microns, or more, and/or thegradient of polymerization zone and the dead zone together have athickness of from 1 or 2 microns up to 400, 600, or 1000 microns, ormore. Thus the gradient of polymerization zone may be thick or thindepending on the particular process conditions at that time. Where thegradient of polymerization zone is thin, it may also be described as anactive surface on the bottom of the growing three-dimensional object,with which monomers can react and continue to form growing polymerchains therewith. In some embodiments, the gradient of polymerizationzone, or active surface, is maintained (while polymerizing stepscontinue) for a time of at least 5, 10, 15, 20 or 30 seconds, up to 5,10, 15 or 20 minutes or more, or until completion of thethree-dimensional product.

The method may further comprise the step of disrupting the gradient ofpolymerization zone for a time sufficient to form a cleavage line in thethree-dimensional object (e.g., at a predetermined desired location forintentional cleavage, or at a location in the object where prevention ofcleavage or reduction of cleavage is non-critical), and then reinstatingthe gradient of polymerization zone (e.g. by pausing, and resuming, theadvancing step, increasing, then decreasing, the intensity ofirradiation, and combinations thereof).

CLIP may be carried out in different operating modes operating modes(that is, different manners of advancing the carrier and build surfaceaway from one another), including continuous, intermittent, reciprocal,and combinations thereof.

Thus in some embodiments, the advancing step is carried outcontinuously, at a uniform or variable rate, with either constant orintermittent illumination or exposure of the build area to the lightsource.

In other embodiments, the advancing step is carried out sequentially inuniform increments (e.g., of from 0.1 or 1 microns, up to 10 or 100microns, or more) for each step or increment. In some embodiments, theadvancing step is carried out sequentially in variable increments (e.g.,each increment ranging from 0.1 or 1 microns, up to 10 or 100 microns,or more) for each step or increment. The size of the increment, alongwith the rate of advancing, will depend in part upon factors such astemperature, pressure, structure of the article being produced (e.g.,size, density, complexity, configuration, etc.).

In some embodiments, the rate of advance (whether carried outsequentially or continuously) is from about 0.1 1, or 10 microns persecond, up to about to 100, 1,000, or 10,000 microns per second, againdepending again depending on factors such as temperature, pressure,structure of the article being produced, intensity of radiation, etc.

In still other embodiments, the carrier is vertically reciprocated withrespect to the build surface to enhance or speed the refilling of thebuild region with the polymerizable liquid. In some embodiments, thevertically, reciprocating step, which comprises an upstroke and adownstroke, is carried out with the distance of travel of the upstrokebeing greater than the distance of travel of the downstroke, to therebyconcurrently carry out the advancing step (that is, driving the carrieraway from the build plate in the Z dimension) in part or in whole.

While CLIP is the preferred additive manufacturing technique forcarrying out the present invention, it will be appreciated that otherbottom-up or top-down additive manufacturing techniques, including inkjet printer techniques, may also be used. Such methods are known anddescribed in, for example, U.S. Pat. No. 5,236,637 to Hull, U.S. Pat.No. 7,438,846 to John, U.S. Pat. No. 8,110,135 to El-Siblani, and U.S.Patent Application Publication Nos. 2013/0292862 to Joyce and2013/0295212 to Chen et al. The disclosures of these patents andapplications are incorporated by reference herein in their entireties.

Additional examples of apparatus, polymerizable liquids (or “resins”),and methods that may be used in carrying out the present inventioninclude, but are not limited to, those set forth in J. DeSimone et al.,Three-Dimensional Printing Using Tiled Light Engines, PCT PublicationNo. WO/2015/195909 (published 23 Dec. 2015); J. DeSimone et al.,Three-Dimensional Printing Method Using Increased Light Intensity andApparatus Therefore, PCT Publication No. WO/2015/195920 (published 23Dec. 2015), A. Ermoshkin et al., Three-Dimensional Printing withReciprocal Feeding of Polymerizable Liquid, PCT Publication No.WO/2015/195924 (published 23 Dec. 2015); J. Rolland et al., Method ofProducing Polyurethane Three-Dimensional Objects from Materials havingMultiple Mechanisms of Hardening, PCT Publication No. WO 2015/200179(published 30 Dec. 2015); J. Rolland et al., Methods of ProducingThree-Dimensional Objects from Materials Having Multiple Mechanisms ofHardening, PCT Publication No. WO 2015/200173 (published 30 Dec. 2015);J. Rolland et al., Three-Dimensional Objects Produced from MaterialsHaving Multiple Mechanisms of Hardening, PCT Publication No.WO/2015/200189 (published 30 Dec. 2015); J. Rolland et al., PolyurethaneResins Having Multiple Mechanisms of Hardening for Use in ProducingThree-Dimensional Objects published 30 Dec. 2015); and J. DeSimone etal., Methods and Apparatus for Continuous Liquid Interface Productionwith Rotation, PCT Publication No. WO/2016/007495, the disclosures ofwhich are incorporated by reference herein in their entirety.

In an alternate embodiment of the invention, the methods may be carriedout with a method and apparatus as described in Hull, U.S. Pat. No.5,236,637, at FIG. 4, where the polymerizable liquid is floated on topof an immiscible liquid layer (said to be “non-wetting” therein). Here,the immiscible liquid layer serves as the build surface. If soimplemented, the immiscible liquid (which may be aqueous or non-aqueous)preferably: (i) has a density greater than the polymerizable liquid,(ii) is immiscible with the polymerizable liquid, and (iii) is wettablewith the polymerizable liquid. Ingredients such as surfactants, wettingagents, viscosity-enhancing agents, pigments, and particles mayoptionally be included in either or both of the polymerizable liquid orimmiscible liquid.

While the present invention is preferably carried out by continuousliquid interphase polymerization, as described in detail above, in someembodiments alternate methods and apparatus for bottom-upthree-dimension fabrication may be used, including layer-by-layerfabrication. Examples of such methods and apparatus include, but are notlimited to, those described U.S. Pat. No. 7,438,846 to John and U.S.Pat. No. 8,110,135 to El-Siblani, and in U.S. Patent ApplicationPublication Nos. 2013/0292862 to Joyce and 2013/0295212 to Chen et al.The disclosures of these patents and applications are incorporated byreference herein in their entirety.

The fabrication of 3D objects is also described in U.S. Pat. Nos.9,216,546; 9,211,678; and 9,205,601, the contents of all of which arehereby incorporated herein by reference.

FIGS. 1A-1C are schematic diagrams of a 3D object in differentorientations capable of being fabricated using a CLIP printer in someembodiments according to the invention. According to FIGS. 1A-1C, the 3Dobject 100 can be represented as a collection of contiguous Portions 1-Nof the 3D object 100. The contiguous Portions 1-N can directlycorrespond (1:1) to respective Slices S1-SN of a data set representingthe 3D object 100. The Portions 1-N can, however, correspond to anarbitrary number of Slices of the data set and to an arbitrary thicknessof the slices of the 3D object 100. In other words, the Slices of thedata set can represent different Portions having different thicknessesin the 3D object 100.

It will be understood that the Portions 1-N can represent a 3D volume ofthe object 100. In other words, the Portions 1-N can each represent alength, width, and height of a 3D sub-region within the 3D object 100.In particular, sub-regions of the Portions 1-N can include an interiorsub-regions of the object 100 and surfaces of the Portion 1-N.Accordingly, FIGS. 1D-1F show a realistic rendering of a 3D object 200where the Portions within the object 200 are more independent of slicesof data and the orientation for the object 200. For example, a Portion Aon the object 200 in FIG. 1D includes a “face” surface of the object200, whereas a Portion B in FIG. 1E includes a “back” surface of theobject 200, and FIG. 1F includes a “base” surface of the object 200. Itwill be understood that each of the Portions A, B, and C of the object200 can be identified before a particular orientation is chose (orsimulated) for fabrication of the object 200.

It will be further understood that the Portions A, B, and C can havedifferent priorities objectives. For example, the face” surface of theobject 200, may have an objective indicating that surface fineness is arelatively high priority. In contrast, the “back” and “base” surfaces ofthe object 200, may be lower priority for surface fineness, but may havea relatively high priority for mechanical strength. Still further, theface” surface of the object 200 may also have an associated objective torestrict an augmentation (such as structural supports, whereas the“back” and “base” surfaces of the object 200, may have objectives thatallow for some degree of augmentation.

As shown in FIG. 1A, a first orientation can represent a “landscape”orientation for the 3D fabrication, whereas FIG. 1B represents a“portrait” orientation for the 3D fabrication, and FIG. 1C represents anorientation between the landscape orientation and the portraitorientation. It will be understood that other orientations may also beused.

Each of the orientations shown in FIGS. 1A-1C represents a candidateorientation for the fabrication of the 3D object 100. Each of thePortions shown for the different orientations corresponds to a differentphysical Portion of the 3D object 100 depending upon which orientationis represented. Still further, each of the Parameter sets associatedwith a respective Portion also represents what can be a unique set ofParameters used for printing that Portion in the orientation.Accordingly, despite the similarities in the nomenclature between FIGS.1A-1C, the Portions may be different from one another and the Parametersused to print those Portions may also be different from one another.

As appreciated by the present inventors, the orientation selected forthe fabrication of a particular 3D object can have a significant effecton a set of objectives which characterize the desired results for thehighlighted Portions of the object. For example, in some embodiments,the landscape orientation of the 3D object 100 shown in FIG. 1A canprovide different fabrication results (measured against a set ofobjectives for the fabrication) compared to the other orientations shownin FIGS. 1B and 1C. Accordingly, in some embodiments, the orientationwhich meets the set of objectives provided by a user can be selected forfabrication of the 3D object 200.

As further shown in FIGS. 1A-1C, each of the Portions 1-N can have anassociated set of Parameters applied to the CLIP printer for fabricationof the 3D object 100. In other words, each of the Portions 1-N can havea respective set of Parameters such that the Parameters applied to theCLIP printer can vary depending on the Portion of the 3D object 100currently being fabricated. For example, when the first Portion (1) isbeing fabricated, the set of Parameters (1) is applied to the CLIPprinter. When, however, the next contiguous Portion (2) is to befabricated, the set of Parameters (2) can be applied to the CLIPprinter. It will be understood that each of the sets of the Parameters1-N can be different or can be repeated. For example, in some cases thesets of Parameters (1-10) may be the same as one another whereas inother cases each of the sets of Parameters (1-10) may be different fromone another. Also, a complete schedule of Parameters 1-N can bemaintained for a particular orientation of the 3D object, which areapplied in sequence once fabrication begins.

FIG. 2 is a flowchart illustrating operations of a system fordetermining the orientation used for fabrication of the 3D object 100 ofFIGS. 1A-1F using a CLIP printer in some embodiments according to theinvention. According to FIG. 2, the system can receive an set ofobjectives for the 3D fabrication of the object 200 as input (205). Theset of objective inputs can include, for example, the mechanicalcharacteristics associated with the Portions A, B, and C of the object200 to be fabricated (for example, certain mechanical characteristicsprovided these different Portions by the object 200 including interiorsub-regions of those Portions A, B, and C), the surface finish of thePortions A, B, and C (such as fine, medium, or rough), the accuracy ofthe Portions A, B, and C (versus the model used to fabricate the object100), the degree to which augmentation/modification of the Portions A,B, and C of the 3D object 200 is affected as a result of 3D fabrication(such as the degree to which supports, holds, or other facets of thefabricated 3D object 200 may be added to the Portions A, B, and C due tothe fabrication rather than due to the data corresponding to the 3Dobject 100), the speed at which the 3D object 200 is to be fabricated,the degree to which wear on the printing window is allowed given, forexample, historical tracking of printer usage. For example, wear mayinclude chemical “fouling” and/or mechanical delamination of the windowdue to excessive printing within a particular region of the window. Thewindow wear may be tracked for example using an identifier associatedwith the window so that the print history of the window may be accesseddespite the removal of the window from one printer and the installationof the window in another printer. The set of objective inputs canfurther include, for example, the degree to which other 3D objects maybe simultaneously accommodated for along with the object 200 withinprinting window. Other objective inputs can also be included.Accordingly, each of the objective inputs included in the set can affectthe fabrication differently depending on which orientation is used giventhe objectives associated with the Portions A, B, and C. For example, insome embodiments according to the invention, the set of objectives canbe utilized to fabricate the 3D object 200 quickly compared to otherorientations or to have a particularly fine finish compared to otherorientations.

It will be also understood that the individual objectives within the setcan be weighted relative to one another in accordance with the overallobjective to be achieved. For example, in some embodiments, speed may bemore heavily weighted than other objectives in the set. Still further,in some embodiments, each of the objectives in the set may be weightedequally. Other relative weightings of the objectives can be used basedon the desired result for the 3D fabrication of the object 200. In someembodiments, the set of objectives (or the weighting of the differentobjectives) can vary with the Portions of the object 200. For example,in a first portion speed may be most important whereas in a secondportion accuracy may be foremost.

In operation, the different orientations shown in FIGS. 1A-1C can yieldvery different results (for fabrication) based on the objectives for thePortions A, B, and C in the set as well as the weighting associated witheach of the objectives in the set. Accordingly, the set of objectives(and the weighting) can be used to evaluate simulated results offabrication for each orientation whereupon an orientation which meetsthe objectives included in the set can be selected for fabrication ofthe object 200 (210). For example, if the objective of fineness ofsurface finish is deemed to be the most important of all the objectives,it may be found that the orientation shown in FIG. 1C provides bettersurface finish compared to the other orientations, which would indicatethat the FIG. 1C orientation should be used to fabricate the object 200given the set of objectives (and weighting) provided. It will beunderstood that other objective inputs and/or weighting can, however,lead to a different orientation being selected for fabrication.

FIG. 3 is a flowchart illustrating operations of the system in FIG. 2 todetermine the orientation and Parameters to be used for fabrication ofthe 3D object 100 of FIGS. 1A-1F using simulation in some embodimentsaccording to the invention. According to FIG. 3, the set of objectives(and weighting of the those objectives relative to one another) for thePortions A, B, and C are received (205). Also, an indication of therelative importance of the different portions (portion weighting) of the3D object 100 can be provided. The portion weighting can specify, forexample, that certain ones of the Portions A, B, and C of the object 200may be relatively important to fabricate with a fine surface finish suchthat the Parameters to be used for fabricating that particular portionmay be changed.

To simulate the fabrication of the 3D object 200, a first orientation(0) can be selected to identify a particular orientation, a first set ofParameter values can be selected where the set of Parameter (P) valuesmay possibly be applied to the CLIP printer for the fabrication of the3D object 200, and the particular Portion 1_N of the 3D object 100 canbe selected (315). In some embodiments according to the invention, asimulation of fabrication can be carried out for each Orientation, setof Parameter values, and Portions 1-N, each of which can be scoredrelative to the set of objectives provided (205). It will be understoodthat in some embodiments, the Orientation, Parameters values, andPortions 1-N can be iterated through until all combinations are scored.In some embodiments, other techniques can be used to select fewercandidates for simulation and scoring.

It will be understood that the set of Parameters values (M) forfabrication associated with the Portion (N) can be a set of Parametervalues associated with processes in the CLIP printer that can bemonitored and/or controlled during fabrication. For example, theParameters in the set can include values of the energy/frequency of theirradiation used to image the Portion, the temperature of thepolymerizable liquid used to fabricate the 3D object 200, etc.

Accordingly, a range of values for each of the Parameters in the set canbe used to simulate the fabrication of the Portion 1-N. For example,when the Parameter is temperature to be varied for the purposes ofsimulation, the other Parameter values in the set can be held constantwhile the temperature value can be changed during each simulation forthe respective Portion (N). When, however, the Parameter to be varied ischanged to the energy/frequency of the irradiation used, the temperaturevalue can be held constant whereas value of the energy/frequency (over acertain range) is changed during successive simulations (320) for thesame Portion (N).

The fabrication of the Portion (N) can be simulated using the currentOrientation and set of Parameters (M) (320). It will be understood thatthe simulation of the fabrication of Portions of the 3D object 100 usingthe set of Parameter values can be provided using the relationshipsdescribed in Tumbleston “Continuous Liquid InterPhase Printing of 3DObjects” Science Magazine March 2015, the entirety of which is includedherewith.

It will be understood that a score can be assigned to each iteration ofthe simulation to indicate the degree to which the fabrication at thecurrent orientation meets the set of objectives provided for thePortions A, B, and C (325). The score associated with the currentsimulation result is then recorded for later comparison with otherscores generated using other Orientations and sets of Parameters valuesfor the same portions.

The Orientation, Parameters values, and Portions 1-N can be iteratedthrough (330) until all combinations are scored. The orientation whichmeets the set of Objectives and the assigned weighting can be selectedbased on the scores assigned to the different simulations (335).

FIG. 4 shows an example of a generic computing device 500, which may beused with the embodiments described herein. Computing device 500 isintended to represent various forms of digital computers, such aslaptops, desktops, workstations, personal digital assistants, servers,blade servers, mainframes, controllers, and other appropriate computers.The components shown herein, their connections and relationships, andtheir functions, are meant to be exemplary only, and are not meant tolimit implementations of the inventions described and/or claimed.

Computing device 500 includes a processor 502, memory 504, a storagedevice 506, a high-speed interface 508 connected to memory 504, and ahigh speed controller 510. Each of the components, is interconnectedusing various buses, and may be mounted on a common motherboard or inother manners as appropriate. The processor 502 can process instructionsfor execution within the computing device 500, including instructionsstored in the memory 504 or on the storage device 506 to displaygraphical information for a GUI on an external input/output device. Inother implementations, multiple processors and/or multiple buses may beused, as appropriate, along with multiple memories and types of memory.Also, multiple computing devices 500 may be connected, with each deviceproviding portions of the necessary operations (e.g., as a server bank,a group of blade servers, or a multi-processor system).

The memory 504 stores information within the computing device 500. Inone implementation, the memory 504 is a volatile memory unit or units.In another implementation, the memory 504 is a non-volatile memory unitor units. The memory 504 may also be another form of computer-readablemedium, such as a magnetic or optical disk.

The storage device 506 is capable of providing mass storage for thecomputing device 500. In one implementation, the storage device 506 maybe or contain a computer-readable medium, such as a floppy disk device,a hard disk device, an optical disk device, or a tape device, a flashmemory or other similar solid state memory device, or an array ofdevices, including devices in a storage area network or otherconfigurations. A computer program product can be tangibly embodied inan information carrier. The computer program product may also containinstructions that, when executed, perform one or more methods, such asthose described above. The information carrier is a computer- ormachine-readable medium, such as the memory 504, the storage device 506,or memory on processor 502. The high speed controller 510 can managebandwidth-intensive operations for the computing device 500. Suchallocation of functions is exemplary only.

The computing device 500 may be implemented in a number of differentforms. For example, it may be implemented as a standard server, ormultiple times in a group of such servers. It may also be implemented aspart of a rack server system. In addition, it may be implemented in apersonal computer such as a laptop computer. Alternatively, componentsof computing device 500 may be combined with other components.

It will be understood that various implementations of the systems andtechniques described here can be realized in digital electroniccircuitry, integrated circuitry, specially designed ASICs (applicationspecific integrated circuits), computer hardware, firmware, software,and/or combinations thereof. These various implementations can includeimplementation in one or more computer programs that are executableand/or interpretable on a programmable system including at least oneprogrammable processor, which may be special or general purpose, coupledto receive data and instructions from, and to transmit data andinstructions to, a storage system, at least one input device, and atleast one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium” and“computer-readable medium” refer to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherembodiments are within the scope of the following claims.

It will be appreciated that the above embodiments that have beendescribed in particular detail are merely example or possibleembodiments, and that there are many other combinations, additions, oralternatives that may be included.

Also, the particular naming of the components, capitalization of terms,the attributes, data structures, or any other programming or structuralaspect is not mandatory or significant, and the mechanisms thatimplement the invention or its features may have different names,formats, or protocols. Further, the system may be implemented via acombination of hardware and software, as described, or entirely inhardware elements. Also, the particular division of functionalitybetween the various system components described herein is merelyexemplary, and not mandatory; functions performed by a single systemcomponent may instead be performed by multiple components, and functionsperformed by multiple components may instead performed by a singlecomponent.

Some portions of the above description present features in terms ofalgorithms and symbolic representations of operations on information.These algorithmic descriptions and representations may be used by thoseskilled in the data processing arts to most effectively convey thesubstance of their work to others skilled in the art. These operations,while described functionally or logically, are understood to beimplemented by computer programs. Furthermore, it has also provenconvenient at times, to refer to these arrangements of operations asmodules or by functional names, without loss of generality.

Unless specifically stated otherwise as apparent from the abovediscussion, it is appreciated that throughout the description,discussions utilizing terms such as “processing” or “computing” or“calculating” or “determining” or “displaying” or “providing” or thelike, refer to the action and processes of a computer system, or similarelectronic computing device, that manipulates and transforms datarepresented as physical (electronic) quantities within the computersystem memories or registers or other such information storage,transmission or display devices. In the figures, the thickness ofcertain lines, layers, components, elements or features may beexaggerated for clarity. Where used, broken lines illustrate optionalfeatures or operations unless specified otherwise.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a,” “an” and “the” are intended toinclude plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises” or“comprising,” when used in this specification, specify the presence ofstated features, steps, operations, elements components and/or groups orcombinations thereof, but do not preclude the presence or addition ofone or more other features, steps, operations, elements, componentsand/or groups or combinations thereof.

As used herein, the term “and/or” includes any and all possiblecombinations or one or more of the associated listed items, as well asthe lack of combinations when interpreted in the alternative (“or”).

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this invention belongs. It will befurther understood that terms, such as those defined in commonly useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the specification andclaims and should not be interpreted in an idealized or overly formalsense unless expressly so defined herein. Well-known functions orconstructions may not be described in detail for brevity and/or clarity.

It will be understood that when an element is referred to as being “on,”“attached” to, “connected” to, “coupled” with, “contacting,” etc.,another element, it can be directly on, attached to, connected to,coupled with and/or contacting the other element or intervening elementscan also be present. In contrast, when an element is referred to asbeing, for example, “directly on,” “directly attached” to, “directlyconnected” to, “directly coupled” with or “directly contacting” anotherelement, there are no intervening elements present. It will also beappreciated by those of skill in the art that references to a structureor feature that is disposed “adjacent” another feature can have portionsthat overlap or underlie the adjacent feature.

Spatially relative terms, such as “under,” “below,” “lower,” “over,”“upper” and the like, may be used herein for ease of description todescribe an element's or feature's relationship to another element(s) orfeature(s) as illustrated in the figures. It will be understood that thespatially relative terms are intended to encompass differentorientations of the device in use or operation in addition to theorientation depicted in the figures. For example, if the device in thefigures is inverted, elements described as “under” or “beneath” otherelements or features would then be oriented “over” the other elements orfeatures. Thus the exemplary term “under” can encompass both anorientation of over and under. The device may otherwise be oriented(rotated 90 degrees or at other orientations) and the spatially relativedescriptors used herein interpreted accordingly. Similarly, the terms“upwardly,” “downwardly,” “vertical,” “horizontal” and the like are usedherein for the purpose of explanation only, unless specificallyindicated otherwise.

It will be understood that, although the terms first, second, etc., maybe used herein to describe various elements, components, regions, layersand/or sections, these elements, components, regions, layers and/orsections should not be limited by these terms. Rather, these terms areonly used to distinguish one element, component, region, layer and/orsection, from another element, component, region, layer and/or section.Thus, a first element, component, region, layer or section discussedherein could be termed a second element, component, region, layer orsection without departing from the teachings of the present invention.

Embodiments of the inventive subject matter are described herein withreference to plan and perspective illustrations that are schematicillustrations of idealized embodiments of the inventive subject matter.As such, variations from the shapes of the illustrations as a result,for example, of manufacturing techniques and/or tolerances, are to beexpected. Thus, the inventive subject matter should not be construed aslimited to the particular shapes of objects illustrated herein, butshould include deviations in shapes that result, for example, frommanufacturing. Thus, the objects illustrated in the Figures areschematic in nature and their shapes are not intended to illustrate theactual shape of a region of a device and are not intended to limit thescope of the inventive subject matter.

In the above-description of various embodiments of the presentdisclosure, aspects of the present disclosure may be illustrated anddescribed herein in any of a number of patentable classes or contextsincluding any new and useful process, machine, manufacture, orcomposition of matter, or any new and useful improvement thereof.Accordingly, aspects of the present disclosure may be implementedentirely hardware, entirely software (including firmware, residentsoftware, micro-code, etc.) or combining software and hardwareimplementation that may all generally be referred to herein as a“circuit,” “module,” “component,” or “system.” Furthermore, aspects ofthe present disclosure may take the form of a computer program productcomprising one or more computer readable media having computer readableprogram code embodied thereon.

Any combination of one or more computer readable media may be used. Thecomputer readable media may be a computer readable signal medium or acomputer readable storage medium. A computer readable storage medium maybe, for example, but not limited to, an electronic, magnetic, optical,electromagnetic, or semiconductor system, apparatus, or device, or anysuitable combination of the foregoing. More specific examples (anon-exhaustive list) of the computer readable storage medium wouldinclude the following: a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an appropriateoptical fiber with a repeater, a portable compact disc read-only memory(CD-ROM), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer readable storage medium may be any tangible medium that cancontain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device. Program codeembodied on a computer readable signal medium may be transmitted usingany appropriate medium, including but not limited to wireless, wireline,optical fiber cable, RF, etc., or any suitable combination of theforegoing.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET,Python or the like, conventional procedural programming languages, suchas the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby andGroovy, or other programming languages. The program code may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider) or in a cloud computing environment or offered as aservice such as a Software as a Service (SaaS).

Aspects of the present disclosure are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of thedisclosure. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable instruction executionapparatus, create a mechanism for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that when executed can direct a computer, otherprogrammable data processing apparatus, or other devices to function ina particular manner, such that the instructions when stored in thecomputer readable medium produce an article of manufacture includinginstructions which when executed, cause a computer to implement thefunction/act specified in the flowchart and/or block diagram block orblocks. The computer program instructions may also be loaded onto acomputer, other programmable instruction execution apparatus, or otherdevices to cause a series of operational steps to be performed on thecomputer, other programmable apparatuses or other devices to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousaspects of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The corresponding structures, materials, acts, and equivalents of anymeans or step plus function elements in the claims below are intended toinclude any disclosed structure, material, or act for performing thefunction in combination with other claimed elements as specificallyclaimed. The description of the present disclosure has been presentedfor purposes of illustration and description, but is not intended to beexhaustive or limited to the disclosure in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of thedisclosure. The aspects of the disclosure herein were chosen anddescribed in order to best explain the principles of the disclosure andthe practical application, and to enable others of ordinary skill in theart to understand the disclosure with various modifications as aresuited to the particular use contemplated.

In the drawings and specification, there have been disclosed typicalembodiments of the inventive subject matter and, although specific termsare employed, they are used in a generic and descriptive sense only andnot for purposes of limitation.

What is claimed:
 1. A method of operating a Continuous Liquid InterfacePrinting (CLIP) printer, the method comprising: receiving a set ofobjectives for fabrication of a three-dimensional (3D) object using theCLIP printer; defining the 3D object as a plurality of differentportions; for each orientation of a plurality of orientations of the 3Dobject, performing a plurality of simulations of a fabrication of eachportion of the plurality of portions of the 3D object using a differentset of parameters for each simulation; selecting a fabricationorientation from among the plurality of orientations for fabrication ofthe 3D object responsive to a determination that at least one simulationof the plurality of simulations achieves the set of objectives, whereina first set of parameters selected for a first portion of the object isdifferent than a second set of parameters selected for a second portionof the 3D object; and fabricating the 3D object by the CLIP printer atthe fabrication orientation using the first set of parameters for thefirst portion of the 3D object and the second set of parameters for thesecond portion of the 3D object, wherein the set of objectives forfabrication comprises at least one mechanical characteristic of the 3Dobject, a surface finish of the 3D object, an indicator of accuracy ofthe fabricated 3D object relative to data used to fabricate the 3Dobject, a degree to which augmentation/modification of the 3D object isaffected as a result of fabrication, and/or a speed at which the 3Dobject is to be fabricated, and wherein the set of objectives forfabrication further comprises an indication of weighting of respectiveones of the set of objectives.
 2. The method of claim 1 whereinselecting the fabrication orientation for fabrication of the 3D objectcomprises simulating fabrication of the 3D object at differentorientations of the plurality of orientations to provide a respectivescore for each of the different orientations.
 3. The method of claim 2,wherein selecting the fabrication orientation for fabrication of the 3Dobject further comprises comparing the respective scores to determinethe fabrication orientation for fabrication of the 3D object.
 4. Themethod of claim 1 wherein selecting the fabrication orientation forfabrication of the 3D object further comprises: determining sets ofparameters, at a particular orientation of the plurality oforientations, to be applied to the CLIP printer during fabrication toprovide possible sets of parameters for that particular orientation. 5.A system for three-dimensional (3D) Continuous Liquid InterfaceProduction (CLIP) comprising: an interface circuit configured to receivea set of objectives for fabrication of a three-dimensional (3D) object;a processor circuit, coupled to the interface circuit, wherein theprocessor circuit is configured to perform operations comprising:defining the 3D object as a plurality of portions; for each orientationof a plurality of orientations of the 3D object, performing a pluralityof simulations of a fabrication of each portion of the plurality ofportions of the 3D object using a different set of parameters for eachsimulation; selecting a fabrication orientation from among the pluralityof orientations for fabrication of the 3D object responsive to adetermination that at least one simulation of the plurality ofsimulations achieves the set of objectives, wherein a first set ofparameters selected for a first portion of the 3D object is differentthan a second set of parameters selected for a second portion of the 3Dobject; and a CLIP printer configured to fabricate the object at thefabrication orientation using the first set of parameters for the firstportion of the 3D object and the second set of parameters for the secondportion of the 3D object, wherein the set of objectives for fabricationcomprises at least one mechanical characteristic of the 3D object, asurface finish of the 3D object, an indicator of accuracy of thefabricated 3D object relative to data used to fabricate the 3D object, adegree to which augmentation/modification of the 3D object is affectedas a result of fabrication, and/or a speed at which the 3D object is tobe fabricated, and wherein the set of objectives for fabrication furthercomprises an indication of weighting of respective ones of the set ofobjectives.
 6. The system of claim 5 wherein the processor circuit isconfigured to simulate fabrication of the 3D object at differentorientations of the plurality of orientations to provide a respectivescore for each of the different orientations to select the fabricationorientation for fabrication of the 3D object.
 7. The system of claim 6wherein the processor circuit is further configured to compare therespective scores to select the fabrication orientation for fabricationof the 3D object.
 8. The system of claim 5 wherein the processor circuitis further configured to: determine sets of parameters, at a particularorientation of the plurality of orientations, to be applied to the CLIPprinter during fabrication to provide possible sets of parameters forthat particular orientation.
 9. A method of operating a ContinuousLiquid Interface Printing (CLIP) printer, the method comprising:receiving a set of objectives for fabrication of a three-dimensional(3D) object using the CLIP printer; separating the 3D object into aplurality of portions; selecting an orientation of a plurality oforientations for the 3D object to be fabricated in the CLIP printer;selecting a portion of the plurality of portions of the 3D object;performing a plurality of simulations of a fabrication of the selectedportion of the 3D object using a different set of parameters for eachsimulation; generating a score for each of the plurality of simulationsbased on a degree to which the respective simulation achieves the set ofobjectives; repeating the selecting of the orientation, the selecting ofthe portion, the performing of the plurality of simulations for theselected orientation and portion, and the generating the score for eachportion of the 3D object and each orientation of the plurality oforientations; selecting a fabrication orientation for fabrication of the3D object, a first set of parameters for a first portion of the 3Dobject, and a second set of parameters for a second portion of the 3Dobject based on the generated scores, wherein the first set ofparameters is different than the second set of parameters; andfabricating the 3D object by the CLIP printer at the fabricationorientation using the first set of parameters for the first portion ofthe object and the second set of parameters for the second portion ofthe object.
 10. The method of claim 9, wherein the set of objectives forfabrication further comprises at least one mechanical characteristic ofthe object, a surface finish of the object, an indicator of accuracy ofthe fabricated object relative to data used to fabricate the object, adegree to which augmentation/modification of the object is affected as aresult of fabrication, and/or a speed at which the object is to befabricated.
 11. The method of claim 9, wherein the set of objectives forfabrication further comprises an indication of weighting of respectiveones of the set of objectives.